Verification in Concurrent Programming with Petri Nets Structural Techniques

نویسندگان

  • Kamel Barkaoui
  • Jean-François Pradat-Peyre
چکیده

This paper deals with verification of flow control in concurrent programs. We use Ada language model as reference. After translation of Ada programs into Petri nets (named Ada nets for Ada programs), we show how one can fully exploit the relationship between the behavior of the concurrent program and the structure of the corresponding Petri net. Using the siphon structure, we precise some structural conditions for behavioral properties such as deadlock-freeness and liveness that correct concurrent programs must satisfy. These conditions can be proved or disproved using efficient algorithms. We provide also a formal justification of guidelines (such as client/server paradigm) that programmers observe traditionally in order to built correct concurrent programs. Several examples are presented to show the effectiveness of using structure theory of Petri nets for static analysis of concurrent programs.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Dynamic Slicing Techniques for Petri Nets 1

Petri nets provide a means for modelling and verifying the behavior of concurrent systems. Program slicing is a well-known technique in imperative programming for extracting those statements of a program that may affect a given program point. In the context of Petri nets, computing a net slice can be seen as a graph reachability problem. In this paper, we propose two slicing techniques for Petr...

متن کامل

Petri Nets, Process Algebras and Concurrent Programming Languages

This paper discusses issues that arise when process algebras and Petri nets are linked; in particular, operators, compositionality, recursion, refinement and equivalences. It uses the box algebra in order to show how Petri nets can be manipulated algebraically. Also, the paper shows how process algebras such as CCS, COSY and CSP can be treated in the same way, how Petri net semantics of concurr...

متن کامل

Automatic Translation of Ada-ECATNet Using Rewriting Logic

One major difficulty that faces developers of concurrent and distributed software is analysis for concurrency based faults like deadlocks. Petri nets are used extensively in the verification of correctness of concurrent programs. ECATNets are a category of algebraic Petri nets based on a sound combination of algebraic abstract types and high-level Petri nets. ECATNets have 'sound' and 'complete...

متن کامل

Double Reduction of Ada-ECATNet Representation using Rewriting Logic

One major difficulty that faces developers of concurrent and distributed software is analysis for concurrency based faults like deadlocks. Petri nets are used extensively in the verification of correctness of concurrent programs. ECATNets [2] are a category of algebraic Petri nets based on a sound combination of algebraic abstract types and high-level Petri nets. ECATNets have 'sound' and 'comp...

متن کامل

Verification and Optimization of Control Programs by Petri Nets without State Explosion 1)

The development of provably error-free and efficient concurrent manufacturing systems is still a challenge of practical system engineering. Modelling and analysis of concurrent systems by means of Petri nets is one of the well-known approaches using formal methods. Among those Petri net analysis techniques suitable for strong verification purposes there is an increasing amount of promising meth...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998